package com.tanjun.publicservice.web.biz;

import com.tanjun.common.response.PageResponse;
import com.tanjun.pubilcservice.request.dict.DictPageRequest;
import com.tanjun.pubilcservice.request.dict.DictVo;
import com.tanjun.pubilcservice.response.dict.SysDictDataDto;
import com.tanjun.pubilcservice.response.dict.SysDictDetailDto;

import java.util.List;

public interface SysDictBiz {
    /**
     * 新增字典信息
     * @param paramVo 字典信息
     */
    void addDict(DictVo paramVo);

    /**
     * 修改字典信息
     * @param paramVo 字典信息
     */
    void updateDict(DictVo paramVo);

    /**
     * 删除字典信息
     * @param id id
     */
    void delDict(Long id);

    /**
     * 获取字典基础信息+数据列表信息
     * @param id 字典id
     * @return 字典详细信息
     */
    SysDictDetailDto getDetailById(Long id);

    /**
     * 分页查询字典基本信息
     * @param paramVo 分页查询
     * @return 字典基本信息
     */
    PageResponse<SysDictDetailDto> listPageDict(DictPageRequest paramVo);

    /**
     * 通过字典编码获取字典数据
     * @param dictCode 字典编码
     * @return 字典数据
     */
    List<SysDictDataDto> getDictDataByDictCode(String dictCode);
}
